<template>
    <div>
        <router-link tag="div" to="/"
                     class="header-abs" v-show="showAbs"
        >
            <span class="iconfont header-abs-back">&#xe624;</span>
        </router-link>
        <div class="header-fixed"
             v-show="!showAbs"
             :style="opacityStyle"
        >
            经典详情
            <router-link to="/">
                <div class="iconfont header-fixed-back">&#xe624;</div>
            </router-link>
        </div>
    </div>
</template>

<script>
    export default {
        name: "DetailHeader",
        data() {
            return {
                showAbs: true,
                opacityStyle: {
                    opacity: 0
                }
            }
        },
        methods: {
            handleScroll() {
                //  console.log(document.documentElement.scrollTop);
                const top = document.documentElement.scrollTop;
                if (top > 60) {
                    let opacity = top / 140;
                    opacity = opacity > 1 ? 1 : opacity;
                    this.opacityStyle = {
                        opacity
                    };
                    this.showAbs = false
                } else {
                    this.showAbs = true
                }
            }
        },
        activated() {
            //  为Windows绑定事件
            window.addEventListener('scroll', this.handleScroll)
        },
        deactivated(){
            //  该页面即将被隐藏时执行
            //  对windows绑定的事件进行解绑
            window.removeEventListener('scroll', this.handleScroll)
        }
    }
</script>

<style lang="stylus" scoped>
    @import "~styles/varibles.styl"
    .header-abs
        position absolute
        top .2rem
        left .2rem
        width .8rem
        height .8rem
        border-radius .4rem
        text-align center
        line-height .8rem
        background-color rgba(0, 0, 0, .8)
        .header-abs-back
            color #fff
            font-size .4rem
    .header-fixed
        position fixed
        top 0
        right 0
        bottom 0
        left 0
        z-index 2
        overflow hidden
        height $headerHeight
        line-height $headerHeight
        text-align center
        color #fff
        background $bgColor
        font-size .32rem
        .header-fixed-back
            position absolute
            width .64rem
            text-align center
            font-size .4rem
            top 0
            left 0
            color #fff
</style>